﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.SqlClient;

namespace Royaumes_Libres.Database
{
    /// <summary>
    /// 
    /// </summary>
    /// <remarks>Patrick Chabot</remarks>
    public class cRessource
    {
        protected int pFkKingdom;
        protected int pMana;
        protected int pTimber;
        protected int pOre;
        protected int pFood;
        protected int pPopulation;

        public int Mana { get { return this.pMana; } }
        public int Timber { get { return this.pTimber; } }
        public int Ore { get { return this.pOre; } }
        public int Food { get { return this.pFood; } }
        public int Population { get { return this.pPopulation; } }

        /// <summary>
        /// À définir par l'équipe web
        /// </summary>
        /// <returns>Ce que vous avez besoin</returns>
        /// <remarks>
        /// Ici vous pouvez le modifié à votre guise pour afficher ce
        /// que vous avez besoin d'afficher.  Peut inclure le Html nécéssaire
        /// à l'affichage web
        /// P.S.: Ne pas oublié de changer les commentaires pour indiqué où
        ///     c'est utilisé et qui l'utilise
        /// </remarks>
        public override string ToString()
        {
            return string.Format("Pk={0}<br/>Mana={1}<br/>Timber={2}<br/>Ore={3}<br/>Food={4}<br/>Population={5}",
                this.pFkKingdom, this.pMana, this.pTimber, this.pOre, this.pFood, this.pPopulation);
        }

        /// <summary>
        /// 
        /// </summary>
        /// <remarks>Patrick Chabot</remarks>
        protected cRessource() { }

        /// <summary>
        /// Retourne le cRessource du PkRessource demandé.
        /// </summary>
        /// <param name="PkKingdom">PkRessource</param>
        /// <remarks>Patrick Chabot</remarks>
        public static cRessource GetRessource(int PkKingdom)
        {
            SqlCommand cmd = cSQL.GetDbJeuCommand();
            
            try
            {
                cmd.Connection.Open();
                cmd.CommandText = "cde.spGetRessource";

                cmd.Parameters.Add(cSQL.Param("@PkKingdom", PkKingdom, SqlDbType.Int));

                SqlDataReader dr = cmd.ExecuteReader();

                dr.Read();
                cRessource rsrc = new cRessource();
                rsrc.pFkKingdom = dr.GetInt32(0);
                rsrc.pMana = dr.GetInt32(1);
                rsrc.pTimber = dr.GetInt32(2);
                rsrc.pOre = dr.GetInt32(3);
                rsrc.pFood = dr.GetInt32(4);
                rsrc.pPopulation = dr.GetInt32(5);

                cmd.Connection.Close();
                return rsrc;
            }
            catch (Exception ex)
            {
                cmd.Connection.Close();
                throw new Exception("cRessource cRessource.GetRessource(int PkKingdom): " + ex.Message);
            }
        }
    }
}